Finds an entry within an one-dimensional array. (Similar to _ArrayBinarySearch() except the array does not need to be sorted.)
#include <Array.au3>
_ArraySearch ( $avArray, $vWhat2Find, $iStart = 0, $iEnd = 0, $iCaseSense = 0, $fPartialSearch = False )
Parameters
$avArray | The array to search |
$vWhat2Find | What to search $avArray for |
$iStart (Optional) | Start array index for search, normally set to 0 or 1. If omitted it is set to 0 |
$iEnd (Optional) | End array index for search. If omitted or set to 0 it is set to Ubound($AvArray) |
$iCaseSense (Optional) | If set to 1 then search is case sensitive |
$fPartialSearch (Optional) | If set to True then executes a partial search. If omitted it is set to False |
Return Value
Success: | The first found instance of $vWhat2Find in $avArray |
Failure: | Returns -1 and sets @Error on Errors. |
@Error: | 1 $avArray is not an array |
2 $iStart is greater than UBound($AvArray)-1 | |
3 $iEnd is greater than UBound($AvArray)-1 | |
4 $iStart is greater than $iEnd | |
5 $iCaseSense was invalid. (Must be 0 or 1) | |
6 $vWhat2Find was not found in $avArray |
Remarks
This function might be slower than _ArrayBinarySearch() but is useful when the array's order can't be altered.
Related
_ArrayBinarySearch
Example
#Include<Array.au3>
Dim $Array[6]
$Array[0] = "String0|SubString0"
$Array[1] = "String1|SubString1"
$Array[2] = "String2|SubString2"
$Array[3] = "String3|SubString3"
$Array[4] = "String4|SubString4"
$Array[5] = "String5|SubString5"
$Input = InputBox("ArraySearch Demo", "String To Find?")
If @error Then Exit
$Pos = _ArraySearch ($Array, $Input, 0, 0, 0, True)
Select
Case $Pos = -1
MsgBox(0, "Not Found", '"' & $Input & '" was not found in the array.')
Case Else
MsgBox(0, "Found", '"' & $Input & '" was found in the array at pos ' & $Pos & ".")
EndSelect